Estás confundido $(…)con <(…). Usó el primero, que pasa la salida como argumentos a vimdiff. Por ejemplo, si la última línea de /path/to/foocontiene bar bar bar, entonces el siguiente comando
echo $(tail -1 /path/to/foo)
es equivalente a
echo bar bar bar
En cambio, necesitas usar <(…). Esto se denomina sustitución de proceso y pasa el resultado como un pseudoarchivo al vimdiffcomando. Por lo tanto, use lo siguiente.
vimdiff <(tail /tmp/cachain.pem) <(tail /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem)
Esto funciona en bash y zsh, pero aparentemente no hay forma de realizar la sustitución de procesos en tcsh.