Shift Register Counter
Unless I am missing some important information here regarding what you are trying to do, in order to get the 7-seg to "count" you are going to need to shift into the register the equivalents of each number you want to display in your sequence (0, 1, 2 ... )

Consider this schematic of a segment display. Although this is likely not exactly how yours is laid out, it will suffice for an explanation. 



Doing of few experiments we find that if we connect the register to the display as follows (starting with the registers LSb):


1 -> a
2 -> b
3 -> c
4 -> d
5 -> e
6 -> f
7 -> g


Consider the event in which we shift out a character 5 (00110101), for example. The correct pattern on the display to create the symbol 5 would be:


1 -> a 
0 -> b 
1 -> c 
1 -> d 
0 -> e 
1 -> f 
1 -> g


As you can see, 00110101 -> 1101101 which could be called data conditioning, if you will. 

The point of what I am trying to get at here is that you cannot shift out a number or a character, you must in fact manipulate the word based on what data you are trying to display; such work is most simply done with a look-up-table(LUT), as suggested earlier. 

For reference, see: The ASCII Table