The child gets a copy of the parent's vars but can never change the parent's copy. That's fundamental unix.
The parent can read data from a child through some IPC mechanism and make the change itself, but that won't change the copies already-launched children have. Yes, you need IPC.
Sysv IPC has a shared-memory facility which would seem to be just what you want, but sysv IPC is buggy with races and is rarely used.
After Compline,
Zaxo
In Section
Seekers of Perl Wisdom