I'd add -H to the options of sudo to make it set the home to normaluser's one.
I assumed that your DISPLAY is :1, which is what my Debian has set for me. That's another variable that you could read from the environment of Firefox.
You might have to pass/preserve other environment variables to make Firefox work.
The parent gave all information which should help you in figuring it out by yourself now. The message it, it should work with the right env vars, and you have multiple example env vars to check for (DBUS related, DISPLAY, etc) and Google for. This is your work now.
(You could also test the extreme case: Just copy all the env vars.)
Because this is not a support forum or a stack exchange. I give the idea, then all the test and debugging is for who has to actually make the code work.
I assumed that your DISPLAY is :1, which is what my Debian has set for me. That's another variable that you could read from the environment of Firefox.
You might have to pass/preserve other environment variables to make Firefox work.