Não estou garantindo que isso funcione, mas a questão aqui é que você não está construindo o caminho corretamente. O caminho total deve conter wine + Path to WineApp + FileToOpen
. Eu dividi seu script em mais Variáveis para que o conceito faça sentido, não necessariamente trabalhando ...
#!/bin/bash
function set_wine_environment
{
WINEPREFIX='/disk1/.wine-ptgui'
WINEDLLOVERRIDES='mscoree=d'
PATHTOWINE='/software/wine/1.7.42/linux.centos6.i386/bin/wine'
PATHTOWINEAPP="/disk1/.wine-ptgui/drive_c/Program\ Files/PTGui/PTGui.exe"
}
# Check if we already have the wineprefix installed
if [ -d /disk1/.wine-ptgui ]; then
prefixExist=1
echo "$@"
set_wine_environment
# The path is now fully constructed here
# instead of inside the function, using
# string expansion.
${PATHTOWINE} ${PATHTOWINEAPP} "$@"
sleep 5
exit 0
else
echo "no wineprefix"
exit 1
fi