sort: write failed: standard output: Broken pipe
O problema não está entre find
e sort
. O sort
tem problema com saída , o que significa que o shell não está disposto a ler a lista em uma variável.
Você terá que processar a entrada com while read
…, armazenando-a no arquivo temporário se precisar mais de uma vez. Com a vantagem adicional de que isso se divide apenas na nova linha, ele lida corretamente com nomes de arquivos com espaços que a abordagem de backtick não faz.
Infelizmente, você não diz como deseja usar o resultado, não posso dizer exatamente como reescrevê-lo.
Note que os arrays não são parte da especificação do shell POSIX e há shells notavelmente mais rápidos que o bash, mas não os possuem. É por isso que muitas pessoas, inclusive eu, costumam evitar usá-las em scripts.