例えば、

$ A | B | C

というパイプがあったととして

A の 標準出力を B で処理しつつ C にも渡したい場合
Bのソースコード内に

go io.Copy(os.Stdout, os.Stdin)
scanner := bufio.NewScanner(os.Stdin)
for scanner.Scan() {
  txt := scanner.Text()
  // txt を処理
}

のようなことはできないのでしょうか?
上記のようにプログラミングすると、どちらか片方に出力されるようです。