Via http://linux.byexamples.com/archives/144/redirect-output-to-multiple-processes/
You already know that if you want to pass the output of a program to the input of another program, you can use the pipe | character.
You now that if you want to write the ouput of a program to the disk and at the same time pass it as input to another program, you can use tee.
But maybe you don’t know that if you want to pass the ouput of a program to multiple programs as input, you can use tee again with a little of subshelling.
# source_program | tee (> program1) (> program2) (> programN)| programN+1
ITYM source_program | tee >(program1) >(program2) >(programN)
which btw is a syntax supported by bash and some other shells.