In the `p` tag, multiple recipient addresses can be included. A single envelope can list two addresses: one is the re-publisher's address, and the other is the recipient's one-time address (which already resolves the metadata issue at the application layer). This is the solution with the least amount of changes.
Using two envelopes (outer and inner) is also an option, but it involves slightly more changes compared to the first solution.

GitHub
nips/01.md at master · nostr-protocol/nips
Nostr Implementation Possibilities. Contribute to nostr-protocol/nips development by creating an account on GitHub.