considère utiliser une variable d’entrée: programme var
où var est le nom complet du fichier.
Dans le script tu récupère la variable $1 qui sera le nom du fichier.
C’est ton script qui lit le fichier, pas la commande cat.
old_IFS=$IFS # sauvegarde du séparateur de champ
IFS=$'\n' # nouveau séparateur de champ, le caractère fin de ligne
for ligne in $(cat $1)
do
commande
done
IFS=$old_IFS # rétablissement du séparateur de champ par défaut