# make copies of orig stdout, /dev/tty, and our log file FDs
exec {orig_stdout_fd}>&1
exec {tty_fd}>/dev/tty
exec {file_fd}>log.out
# ...and set them up however you wish, using ''tee'' for anything that goes two places
exec >&$file_fd # redirect stdout only to the log file
exec 2> >(tee /dev/fd/"$tty_fd" >&$file_fd) # redirect stderr to both sinks