Вам нужно использовать правильный синтаксис. Чтобы отобразить все элементы, используйте
for element in "${my_array[@]}" ; do
printf '%s\n' "$element"
done
$my_array
совпадает с ${my_array[0]}
.
Кроме того, цикл в исходном вопросе выводит my_array
, а не 1
. Без $
это не переменная, это просто слово.