You can just use systemd for this. Open the FD in systemd and then pass it into the process.
Can you point to a single unhandled edge case mentioned so far in this discussion? The only possible one I see is finnh's complaint that it doesn't support changing arguments, but that seems more like a missing feature (which doesn't seem that important to me) than an edge case.
The logic needed to correctly implement this is quite minimal, and implementing it yourself both spares you a rather heavy dependency and gives you more flexibility.
https://news.ycombinator.com/item?id=8773176
So far, I haven't encountered any annoying edge case I can't handle, so if you have examples, I'll be glad to discuss them with you