La commande shift permet de décaler la liste des arguments d'une ou plusieurs positions vers la gauche.
Cette commande est utilisée dans le cas où le premier argument n'a pas à subir le même traitement que les suivants.
	Dans ce cas, le premier argument doit être sauvegardé dans une variable et l'exécution de la commande shift entraine le remplacement du premier argument par le second et ainsi de suite.
$ nl monTroisiemeScript.sh
	     1  #! /bin/bash
	     2  # Ce script doit recevoir en premier argument le nom d'un dossier puis des noms de fichiers pour les suivants
	     3  # Affichage des variables avant l'utilisation de la commande shift
	     4  echo -e "Affichage avant exécution de la commande shift\n"
	     5  echo "1er argument \$1 : $1"
	     6  echo "1er argument \$2 : $2"
	     7  echo "1er argument \$3 : $3"
	     8  echo "1er argument \$4 : $4"
	     9  echo "Tous les arguments \$* : $*"
	    10  echo -e "Le nombre d'argument \$# : $#\n"
	    11  # On sauvegarde le premier argument dans la variable rep
	    12  rep=$1
	    13  # On décale tous les arguments avec la commande shift
	    14  shift
	    15  # Affichage des variables après l'exécution de la commande shift
	    16  echo -e "Affichage après exécution de la commande shift\n"
	    17  echo "1er argument \$1 : $1"
	    18  echo "1er argument \$2 : $2"
	    19  echo "1er argument \$3 : $3"
	    20  echo "1er argument \$4 : $4"
	    21  echo "Tous les arguments \$* : $*"
	    22  echo -e "Le nombre d'argument \$# : $#\n"
	    23  # Création du répertoire
	    24  mkdir $rep
	    25  # On se positionne dans le nouveau répertoire
	    26  cd $rep
	    27  # Création des fichiers dans le nouveau répertoire
	    28  for fichier in $*
	    29  do
	    30          touch $fichier
	    31  done
	$ chmod u+x monTroisiemeScript
Exécution du script :
$ ./monTroisiemeScript.sh test fic1 fic2 fic3 fic4 fic5 fic6
	Affichage avant exécution de la commande shift
	1er argument $1 : test
	1er argument $2 : fic1
	1er argument $3 : fic2
	1er argument $4 : fic3
	Tous les arguments $* : test fic1 fic2 fic3 fic4 fic5 fic6
	Le nombre d'argument $# : 7
	Affichage après exécution de la commande shift
	1er argument $1 : fic1
	1er argument $2 : fic2
	1er argument $3 : fic3
	1er argument $4 : fic4
	Tous les arguments $* : fic1 fic2 fic3 fic4 fic5 fic6
	Le nombre d'argument $# : 6
	$ ls -l ./test/
	total 0
	-rw-r--r-- 1 toto toto 0 2011-10-25 09:01 fic1
	-rw-r--r-- 1 toto toto 0 2011-10-25 09:01 fic2
	-rw-r--r-- 1 toto toto 0 2011-10-25 09:01 fic3
	-rw-r--r-- 1 toto toto 0 2011-10-25 09:01 fic4
	-rw-r--r-- 1 toto toto 0 2011-10-25 09:01 fic5
	-rw-r--r-- 1 toto toto 0 2011-10-25 09:01 fic6
	$