Or go look at the code of shiftOut and do something similar with your array instead of bits
My view though is that you should not deal with an array, just use bytes and use the bit manipulation function above for your indexing purpose. Saves memory...
I will try to explain it with another example. if you press button first arr[0] will be set to 1. after this if you don't click button in 0.25 sec arr[0] will shift to arr[1] and arr[0] will be set to 0. after 0.25 sec arr[1] will be shifted to arr[2] and arr[1] will be set 0. by shifting I mean arr = arr[x+1] (for example arr[1] = arr[2]). this will repeat again and again, until button is clicked.