Em updatedb.sh linha 175 dá uma dica:
PRUNEREGEX='echo $PRUNEPATHS|sed -e 's,^,\\(^,' -e 's, ,$\\)\\|\\(^,g' -e 's,$,$\\),''
O $PRUNEPATHS é tratado como texto simples, os caracteres '' são substituídos e não é possível escapar.
Para garantir que o espaço sobreviva à linha 175, você deve indicá-lo sem explicitamente mencioná-lo. A melhor maneira que eu sei é usar \s , que significa um caractere de espaço em branco:
PRUNEPATHS='/path/to/Program\sFiles\s(x86)'
(Isso também incluirá os caracteres tab e newline, mas neste caso será bom para você.)
Outra maneira é definir $PRUNEREGEX diretamente, como updatedb faria na linha 175:
PRUNEREGEX='\(^/path/to/Program Files (x86)$\)'
Lá você separa vários caminhos com \| , então o espaço não é mais um problema:
PRUNEREGEX='\(^/path/to/Program Files (x86)$\)\|\(^/foo/bar$\)'