Que tal você tentar filtrá-lo antes de passar para o log? Assim talvez?
exec 2>&1 | egrep -v "tput: No value for $TERM and no -T specified" > $log
Após reflexão, isso não funciona com exec. Talvez seja melhor definir isso fora do script, ou seja, com um script de wrapper.
Veja se isso funciona:
Comente o exec e a declaração de log do seu script, como esta
#exec > $log 2>&1
e execute o script com
/path/to/script.sh 2>&1 | egrep -v "tput: No value for $TERM and no -T specified" > /path/to/log