Tout d'abord, sur cette ligne
LD_LIBRARY_PATH="$TINA_HOME/Lib:${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH}"
ton :+ il sert a rien. Tu peux mettre LD_LIBRARY_PATH="$TIME_HOME/Lib:$LD_LIBRARY_PATH"
`${foo:+bar}' dit si la variable foo existe et n'est pas vide, alors on substitue par la chaine bar. Dans ton cas "si LD_LIBRARY_PATH existe on met la valeur de LD_LIBRARY_PATH." Strictement equivalent a "${LD_LIBRARY_PATH}", donc. Evitons de complexifier. -_-
Le probleme ne vient pas du script, et faire un env a la fin du script ca servira a rien, car la variable est ecrasee *apres*. Par quoi j'en sais rien, c'est ton systeme. Je te suggere d'investir dans la lecture du man bash, chapitre "SHELL BUILTIN COMMANDS", l'option -x de la commande set.