Hola AlvaroG, la verdad gracias a ti lo he entendido mucho mejor.
Muchisimas gracias por contestar. 
Lo que no me queda claro es lo del bucle infinito...  
He estado probando con sh -x Primos.sh 4 y el resultado que me imprime es el siguiente: 
capixi ~ $ sh -x ./Primos.sh 4
+ LIMITE=4
+ Primos 1
+ n = 1 + 1
./Primos.sh: 1: n: not found
+ shift
+ n == LIMITE
./Primos.sh: 1: n: not found
+ Primos
+ n = + 1
./Primos.sh: 1: n: not found
+ shift
shift: 1: can't shift that many 
Es asi como detectaste el bucle infinito?¿Por qué motivo termina el script?
