Supondo que você esteja usando o bash, faça o seguinte:
shopt -s globstar
shopt -s nullglob
filearray=(/tmp/**/????)
Isso colocará a lista de arquivos que você deseja em uma matriz filearray
. Novas linhas (e outros caracteres exóticos) no nome do arquivo serão tratados corretamente.
A configuração de globstar permite que **
em padrões glob correspondam a subdiretórios, fornecendo a pesquisa recursiva necessária.
Definir nullglob simplesmente faz com que a expansão seja expandida para nada se não houver correspondências. Caso contrário, ele se expandirá para si mesmo, o que provavelmente não é o que você deseja.