Почему не работае скрипт?
Что я неправильно сделал?
Для того что вы хотите нужно не запускать этот скрипт а загружать его в текущий шелл командой source или . :
$ . ./path.shЭта переменная только для сеанса в терминале или пока ПК не выключу?
Эта переменная -- для шелла который её выполнил и его потомков. Запуск скрипта порождает новый шелл, который сразу завершается.Можно ли у LD_LIBRARY_PATH записать несколько разных путей? 
Да, через двоеточие.
"Общие" переменные обычно настраивают один раз - в .bashrc или .bash_profile (первый выполняется только при логине, второй - любым шеллом). Установка переменной порождает ее для текущего сеанса и всех порожденных им процессов, как только шелл завершился - все переменные стерлись :)
Чтобы этого не происходило, используют команду export:PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/lib32/pkgconfig:/usr/lib/pkgconfig:/usr/lib32/pkgconfig; export PKG_CONFIG_PATH
LD_LIBRARY_PATH задается подобным образом. Только крайне не рекомендуется использовать относительные пути - вместо ~ лучше напишите полный путь к домашке