execline
Software
www.skarnet.org
 The shift program 
shift shifts the positional parameters of an execline script.
 Interface 
     shift [ -n argn ] [ -b blockn ] prog...
 -  shift shifts argn positional parameters,
then blockn blocks. It then execs prog.... 
-  By default, argn and blockn are both zero;
but if neither the -n nor the -b option is given,
then argn is 1 and blockn is 0. 
 Details 
 -  shift reads the number of "positional parameters" in the
# environment variable. Let n be that number. 
-  If the # environment variable is not set or does not
contain a valid number, or one of the 0, 1, ...,
n environment variables is not set, shift
exits 100 with an error message. 
-  shift calculates a shift value m, corresponding
to argn arguments followed by enough arguments to make
blockn blocks. 
-  It shifts the positional parameters m times: the
value of the m+1 variable becomes the value of the
1 variable, m+2 becomes 2 and so on,
and # is set to n-m (floored at zero). 
-  shift then execs into prog.... 
 Notes 
 -  shift is a standard shell builtin. Be careful if you
want to use it outside of an execline script. 
-  The -b option is only useful to implement execline
commands in the execline language. You shouldn't normally have to
use it.