Simplificado, o stdbuf é um wrapper em torno da funcionalidade do stdio. O buffer de linha dos fluxos de entrada é indefinido no stdio; Não consigo encontrar nenhum documento de padrões que diga o que isso significa, por isso é literalmente sem sentido no que diz respeito aos padrões.
Assumindo comportamento análogo ao buffer de linha stdout, o buffer de linha de stdin exigiria a chamada read () uma vez para cada caractere lido, porque não há outra maneira de garantir que você não leia além de uma nova linha em um descritor. Como o ponto de armazenamento em buffer é reduzir o número de chamadas do sistema, não é surpresa que a biblioteca stdio não implemente isso.