Se o seu SO for compatível com o FUSE, você poderá usar SSHFS para montar um diretório remoto em um local.
Caso contrário, supondo que seu shell seja bash
, você ainda pode fazer assim:
program <(ssh b 'cat /path/to/file')
Mas isso só funciona se o seu programa quiser apenas ler o arquivo na máquina b.