in reply to wrapping any given shell
How about using the unix script command. Quote from the manual:
script makes a record of everything printed on your screen.
The record is written to filename. If no file name is
given, the record is saved in the file typescript.
The script command forks and creates a sub-shell, according
to the value of $SHELL, and records the text from this ses-
sion. The script ends when the forked shell exits or when
CTRL-D is typed.
--
Zigster