Gare à "for param in $*" car si j'appelle ton script avec un espace (qu'il soit échappé ou entre guillemets) ça va tout casser, exemple :
for param in $*; do
echo $param
done
$ monscript.sh monfichier1 mon\ fichier2 "mon fichier3"
monfichier1
mon
fichier2
mon
fichier3
Il vaut donc mieux parcourir les arguments par leur nombre :
for i in $(seq 1 $#); do
param="$(eval echo \$$i)"
echo $param
done
Sinon pour la question de départ en fait j'ai pas compris : tu veux récupérer l'extension du fichier (la partie après le point ".") ?