Se estivermos falando de ksh93 ou bash (e GNU find ), não há matrizes multidimensionais (ou matrizes de matrizes), você poderia:
index=0 IFS=$'\n'
set -f
for arg do
eval "array_$index"'=($(find "$arg" -type l -maxdepth "$depth" -print))'
((index++))
done
Para ter matrizes diferentes chamadas array_0 , array_1 ...
(o acima assume que nomes de arquivos não contêm caracteres de nova linha).
Se você quiser que todos os links sejam mesclados em uma única matriz, então:
IFS=$'\n'
set -f
array=($(find "$@" -type l -maxdepth "$depth" -print))
deve ser o suficiente.
Usar matrizes ou loops em shells geralmente é um sinal de que você não está enfrentando o problema da maneira certa.
Por exemplo, se você quiser encontrar o link simbólico mais profundo (como seu comentário sugere), faça algo como:
find "$@" -type l -print | awk -F/ '
NF > n {deepest = $0; n=NF}
END {print "Deepest:", deepest}'
awk será muito mais eficiente que o shell para processar texto e trabalhar com matrizes. Ele é projetado para isso. Shells não são (e bash de todas as shells é uma das mais ineficientes). Shells são bons em executar comandos (como awk ou find ), para isso são projetados.