Eu acho que sua abordagem original é falha. Você pode fazer isso em shell puro (para quantidades pequenas (ish) de dados (limpos)).
Algo ao longo destas linhas pode fazer o truque para você:
while read -r VarName VarVal junk;
do eval "$VarName=\"$VarVal\"";
done < /tmp/exampleData;
GX1="GY1"
GX1="0.5915206"
GY1="0.0139938"
GZ1="-0.0876734"
GX2="-0.5223003"
GY2="0.0078178"
GZ2="-0.0489795"
GX3="-0.0692203"
GY3="-0.0218115"
GZ3="0.1366530"
for i in $(cut -f1 -d ' ' /tmp/exampleData );
do eval "echo $i → $"$i ;
done
cut -f1 -d ' ' /tmp/exampleData
echo GX1 → $GX1
GX1 → 0.5915206
echo GY1 → $GY1
GY1 → 0.0139938
echo GZ1 → $GZ1
GZ1 → -0.0876734
echo GX2 → $GX2
...