Você tem a sintaxe correta para uma substituição de comando. Mas o que você precisa passar para diff
são dois arquivos nomes , não dois arquivos conteúdos , que é o que você está tentando passar. (Na verdade, o que você está passando é mais complicado, mas se você tivesse escrito diff "'jar -tvf org.jar'" "'jar -tvf new.jar'"
, estaria passando dois conteúdos de arquivo.)
Eu não acho que o tcsh tenha uma maneira de fazer o que você está tentando fazer, sem criar um arquivo temporário. Em ksh, bash ou zsh, você pode fazer assim:
diff <(jar -tvf org.jar) <(jar -tvf new.jar)