while IFS= read -d '' -r line; do
printf "%swhile IFS= read -d '' -r line; do
printf "%s%pre%" "$line"
done > executable-file < /lib64/ld-2.17.so
" "$line"
done > executable-file < /lib64/ld-2.17.so
usa somente os recursos internos do shell, por isso não precisa iniciar novos processos. O cenário de recuperação pressupõe que você já tenha um shell em execução; como já está em execução, suas permissões em disco e as de suas bibliotecas não importam mais.
Você não poderá iniciar um novo shell nessas circunstâncias, mas nada que esteja em execução no momento é afetado pelas permissões alteradas.
Se o arquivo do qual você está tentando ler não tiver permissões não , isso só funcionará se você estiver em um shell raiz; caso contrário, o redirecionamento de ld-2.17.so
falhará, pois você não poderá ler um arquivo ilegível, a menos que esteja root. (Eu estou ignorando o SELinux etc. aqui.)