По чему выполняет итерацию for name in "${NAMES[@]}"?
for name in "${NAMES[@]}"
По каждому элементу массива как по отдельному элементу, сохраняя пробелы внутри элемента.
Только по числовым индексам массива.
По каждому символу первого имени.
Только по буквальному тексту NAMES.