-file="$(mktemp)"
-if [ -n "$file" ]; then
- ( umask 077; cat > "$file"; echo "/bin/rm -f '$file'" >> "$file" )
- exec </dev/tty /bin/bash --rcfile "$file"
-else
-# Fall back to the shell.
- exec </dev/tty /bin/bash
-fi
+file="${TMPDIR:-/tmp}/$SUDO_USER.became.$USER.$RANDOM.$$"
+( builtin umask 077; echo "unset ENV POSIXLY_CORRECT; set +o posix" > "$file"; cat >> "$file"; echo "/bin/rm -f '$file'" >> "$file" )
+exec </dev/tty env ENV="$file" POSIXLY_CORRECT=1 /bin/bash