Solução do OP, revisão 2
Acontece que eu estava sendo muito burro.
Em primeiro lugar, não é necessário que o awk preencha o caminho para cada arquivo, apenas para jogar a maior parte dele fora. Portanto, a instrução awk deve ser o último canal.Em segundo lugar, em vez de reverter a classificação com ls, podemos fazer uma classificação de tempo padrão e usar a cauda para extrair as linhas que buscamos. Isso garante que o tubo permaneça aberto durante todo o processo.
O novo comando seria parecido com:
ls -t1 /a/path | tail -n 50 | awk -F '\n' -vpath=/prepend/path/ '{print path$1}'