Quelques recommendations :
- ne fais jamais confiance au PATH. Il faut soit que tu fixe le PATH au début de ton script, soit (et c'est le miex) n'utiliser que des chemins absolus pour les commandes (défini toi des variables dans le genre MKDIR=/bin/mkdir, CHGRP=/bin/chgrp, ...)
- Utilise mkdir -m plutot que mkdir + chmod ()
- Copie tes variables $1, $2, ... dans une autre variable, et utilise cette variable au lieu des $n dans ton script (GROUP=$1).
- Indente ton code
- Affiche tes messages d'erreur sur stderr, pas sur stdin (echo "blah blah blah" >&2)
- Teste le code de retour des commandes, et sort en cas d'erreur (après avoir fait le nettoyage et avoir rétabli un état consistant si besoin).
- Il te manques des chown