O loop for espera uma lista:
for a in $A; do
echo "$a"
done
Expande para:
for a in /bin/ps wwwaux; do
echo "$a"
done
Que imprime um após o outro. O loop é executado duas vezes, porque há argumentos TWO . A saída será:
/bin/ps
wwwaux
Use aspas em vez disso:
for a in "$A"; do
echo "$a"
done
Isso se expandirá para:
for a in "/bin/ps wwwaux"; do
echo "$a"
done
Qual será o loop exatamente uma vez, porque é um argumento ONE . Essa é a saída:
/bin/ps wwwaux