così funziona meglio 
esempio: ./eseguiricorsivo file-roller
codice:
#!/bin/bash
# controllo se è stato passato il nome del programma
if [ -n "$1" ]
then
# inizio il ciclo, la variabile a deve andare da 1 a 2, con incrementi di 1
for ((a=1; a <= 2 ; a++))
do
# eseguo il programma
$1
# se arriva qua si è liberata la console, il programma quindi è crashato
echo "Azz si e' chiuso il programma! lo riapro!"
# la variabile a torna a 1 così il ciclo non si chiude
let a=1;
# aspetto 5 secondi prima di continuare... così lo si può bloccare con ctrl+c se voglio fermarlo.
sleep 5;
done;
else
# non hai passato la variabile, birichino...
echo "Eh ma non mi hai detto che programma vuoi far partire...! (Es: ./eseguiricorsivo nomeprogramma)"
fi