Ao tentar fazer algo útil com a resposta de Glenn Jackman, descobri o que é o $ IFS. Parece que era tudo que eu precisava.
Agora tenho este script:
#!/bin/sh
IFS='
'
uxterm -hold -e ./program_to_test $CAJA_SCRIPT_SELECTED_FILE_PATHS
Confirmei que funcionava substituindo ./program_to_test
por um script BASH que eu escrevi que imprime seus argumentos com realce individual. Quando executei o script acima em Caja, uma janela xterm apareceu e os caminhos para os arquivos selecionados foram todos impressos em destaque, com lacunas no destaque entre os caminhos, mas não entre as palavras nos nomes dos arquivos. Ergo, isso faz com que cada linha seja um argumento.
Eu estou realmente surpreso que havia um método que não requeria ferramentas fora de uma shell parecida com Bourne. Talvez eu não tenha dado crédito a essa ferramenta.