Problemas variables en SSH

Hola chicos, estoy tratando de ejecutar este código:

#!/bin/bash

sudo /usr/local/bin/sshpass -p pwd ssh -o stricthostkeychecking=no -p 11022 admin@$1.test.com<<EOI
i=1
while read line
do
 location="sudo sed -n ${i}p /Users/Shared/$1.txt"
 number="sudo sed -n ${i}p /Users/Shared/$2n.txt"
 my_array=("${my_array[i]}" $line)
 sudo cp /Applications/TEPS\ OS\ X\ Share\ Folder/MAIN\ IMAGES\ FOLDER\ ƒ/${location}${number} /Users/Shared/FYP/$number
 sudo sips -Z 256 /Users/Shared/FYP/$number /Users/Shared/FYP/$number
 ((i++))
done </Users/Shared/$2.txt
exit
EOI

básicamente lee un archivo de texto que proporciona la ubicación de ciertas imágenes, y creará una miniatura de esas imágenes, que se pueden descargar más tarde. El problema es que necesito el valor de $ i para establecer los valores de $ location y $ number, pero cuando configuro la variable dentro del ciclo while, las variables no están establecidas. Intenté configurarlo local y globalmente con comillas simples, comillas dobles, pasar con sshpass, exportarlo -Esto funciona como una prueba, pero $ i, por supuesto, se desconoce- intenté colocar corchetes, llaves, paréntesis, escapando $, en este punto he agotado mis ideas, probablemente sea algo increíblemente simple, pero podría usar un par de ojos nuevos, ¡cualquier ayuda es muy apreciada!

EDITAR: Gracias a Charles Duffy por ayudarme a limpiarlo, así que esto es lo que tengo ahora:

 #!/bin/bash
        sudo /usr/local/bin/sshpass -p support ssh -o stricthostkeychecking=no -p 11022 admin@$1.noerrpole.com<<'EOI'
i=1
while read -r line
do
 location=sudo sed -n ${i}p "/Users/Shared/$1.txt"
 number=sudo sed -n ${i}p "/Users/Shared/$2n.txt"
 my_array+=( "$line" )
 sudo cp "/Applications/TEPS\ OS\ X\ Share\ Folder/MAIN\ IMAGES\ FOLDER\ ƒ/${location}${number}" "/Users/Shared/FYP/$number"
 sudo sips -Z 256 "/Users/Shared/FYP/$number" "/Users/Shared/FYP/$number"
 ((i++))
 exit
done <"/Users/Shared/$2.txt"
EOI

Pero ahora no se pasan $ 2 al bucle. Esto es lo que obtengo.

1:bin Photo$ bash -x thumb npco2 20131216154714
+ sudo /usr/local/bin/sshpass -p support ssh -o stricthostkeychecking=no -p 11022 [email protected]
Pseudo-terminal will not be allocated because stdin is not a terminal.
SHPA_12-16-2013/
sed: /Users/Shared/n.txt: No such file or directory
cp: /Applications/TEPS OS X Share Folder/MAIN IMAGES FOLDER ƒ/ is a directory (not copied).
Warning: /Users/Shared/FYP/ not a valid file - skipping
Warning: /Users/Shared/FYP/ not a valid file - skipping
Error 4: no file was specified
Try 'sips --help' for help using this tool

Entonces, donde $ 2 debería ser igual a 20131216154714, está devolviendo una cadena vacía como esta

sed: /Users/Shared/n.txt: No such file or directory

El comando correcto sería

sed: /Users/Shared/20131216154714n.txt

El resto simplemente está fallando porque no se pasan $ 2. ¡De nuevo, gracias por la ayuda!

Respuestas a la pregunta(1)

Su respuesta a la pregunta