Is there a reason why you don't use the build in shiftout function ?
http://arduino.cc/en/Reference/ShiftOut