Você precisa remover o pós-processamento de /dev/lp0 . Tente o seguinte:
(
stty -F /dev/lp0 -opost
cat /dev/ttyS0
) > /dev/lp0
Colocar os dois comandos em um subshell e redirecionar sua saída para /dev/lp0 impede que as configurações stty sejam redefinidas para padrão quando nenhum processo tiver mais /dev/lp0 aberto (entre o stty e o cat ).
Talvez você também precise alterar /dev/ttyS0 configurações, por exemplo remover qualquer processamento de entrada: stty -F /dev/ttyS0 -icanon -echo min 8 time 1 (o min 8 time 1 significa que as leituras retornarão assim que pelo menos um byte for lido e nenhuma entrada adicional estiver disponível após 1/10 de segundo ou se mais entradas forem disponibilizadas as leituras retornarão depois de no máximo 8 bytes lidos).