Shift is from the builtin command of same name in unix shells. It shifted a command-line argument from the beginning, so that if you used it in a loop, you could loop through command-line arguments in normal order. Even the DOS command.com has copied that command with the same name.
Update: I see jbert has already said this in his reply.
In reply to Re: Why are "push", "pop", "shift" and "unshift" so named?
by ambrus
in thread Why are "push", "pop", "shift" and "unshift" so named?
by Cody Pendant
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |