Você pode criar vários servidores tmux que usam um shell diferente.
$> SHELL=$(which zsh) && tmux -L zsh-tmux-socket new -s zsh-session
$> SHELL=$(which bash) && tmux -L bash-tmux-socket new -s bash-session
A página man do tmux afirma que a opção [-L socket-name]
permite uma nome do socket diferente a ser especificado, permitindo que vários servidores tmux independentes sejam executados .
Descobri que cada nova janela criada em cada sessão do servidor estará usando o shell especificado pela variável de ambiente SHELL para essa sessão.
Isso funciona para o tmux 1.8, eu não sei sobre versões anteriores.