O erro principal é que for i in $arrayVM define i como o primeiro elemento em arrayVM , pois não há índice. Estou surpreso que isso não dê um erro no comando echo , a menos que o primeiro elemento da matriz seja numérico.
O que você precisa é da forma iterativa de for : -
for (( i=0; i<${#arrayVM[*]}; ++i ))
do
echo ${arrayVM[$i]}>>list
done
No entanto, isso é desnecessariamente prolixo: muito mais simples é: -
for e in "${arrayVM[@]}"
do
echo $e>>list
done
Isso atribui e a cada elemento, por sua vez, sem enumerá-los.
À luz da resposta de Fedorqui, se arrayVM não for necessário em outro lugar, então existe uma maneira muito mais simples de criar o arquivo de lista: -
cat /orch/servers | grep $1 | awk '{print $1}' >/orch/list
Ou, como o cat é desnecessário : -
grep $1 </orch/servers | awk '{print $1}' >/orch/list