shift [expression]
tcsh shell: shift [variable]
shift renames the positional parameters so that i+nth positional parameter becomes the ith positional parameter, where n is the value of the given arithmetic expression. If you omit expression, the default value is 1. The value of expression must be between zero and the number of positional parameters ($#), inclusive. The value of $# is updated.
shift is a special built-in shell command.
In the tcsh shell, without arguments, shift discards argv[1] and shifts the members of argv to the left. It is an error for argv not to be set or to have less than one word as value. With variable, shift performs the same function on variable. See tcsh — Invoke a C shell.
set a b c d
shift 2
echo $*
produce: c d
See Localization for more information.
POSIX.2, X/Open Portability Guide, UNIX systems.
Allowing an expression, rather than just a number, is an extension found in the z/OS® UNIX shell.
set, sh, tcsh