Из справочного руководства Bash :
Позиционные параметры временно заменяются при выполнении функции оболочки (см. Функции оболочки ). .
blockquote>Итак, вы можете сделать это:
fullname() { for first do echo "$first ${writer[$first]}" done } fullname "${!writer[@]}"