Não use, cat
pois alguns são mencionados aqui. cat
é um programa
while echo
e printf
são bash (shell) embutidos. Iniciar um programa ou outro script (também mencionado acima) significa criar um novo processo com todos os seus custos. Usando builtins, as funções de escrita são bastante baratas, porque não há necessidade de criar (executar) um processo (ambiente).
O opner pergunta "existe alguma ferramenta padrão para enviar ( pipe ) ao stderr", a resposta do schort é: NÃO ... por quê? ... rediredcting pipes é um conceito elemantário em sistemas como o unix (Linux ...) e o bash (sh) se baseia nesses conceitos.
Eu concordo com o abridor de que redirecionar com notações como esta: &2>1
não é muito agradável para programadores modernos, mas isso é uma loucura. O Bash não teve a intenção de escrever programas enormes e robustos, mas sim ajudar os administradores a trabalhar com menos pressionamentos de tecla ;-)
E pelo menos, você pode colocar o redirecionamento em qualquer lugar da linha:
$ echo This message >&2 goes to stderr
This message goes to stderr