cat test_unshift #!/bin/sh echo "Initial args:" "$@" COMMANDLINE="$@" shift shift echo "After 2 shifts :" "$@" set -- $COMMANDLINE echo "After unshift:" "$@" $ sh test_unshift 1 2 3 4 5 6 7 Initial args: 1 2 3 4 5 6 7 After 2 shifts : 3 4 5 6 7 After unshift: 1 2 3 4 5 6 7