Stop invoking the editor through an interactive shell

This was added in d2ecfb9 / #12784 to fix a bug repotted in #12779, but
at that time we were invoking the editor via `system` rather than
`exec`.

Now we are using exec, and running it through an interactive shell seems
to cause other problems, for example, emacs does not suspend/resume
properly.

Fixes #32328.