I think Shanks is a son of Rocks D. Xebec. Alright, this one might not be good, so please don’t come at me in anger, this is just a theory.
During the Wano Country Arc, Roger and Rayleigh say that it’s been a while since they held a baby to Momo and Hiyori, maybe that is because the last baby they held was baby Shanks.
In his prime, Rocks D. Xebec used to be kind hearted man similar to Luffy. Once his entire crew was slaughtered because of Celestial Dragons, and he was taken in as their slave with the help of Sea Prism Stone. This made him become an extremely cruel individual.
During his time as a slave, he met female Celestial Dragon who was kind just like Doflamingo’s Dad. They both fell in love, and he broke out of slavery with her help and took her with him, that’s when Shanks was born because that’s the only thing that makes sense for him to exist. Shanks’ mom was forced to go back to the Celestial Dragons, and eventually gets killed for her betrayal. Shanks was kept at hiding or maybe was somewhere else. Xebec becomes angry as hell and decides to avenge his wife, so he attacks the God’s Valley.
In the incident, Xebec’s power of Yami Yami nomi swallows the entire island, and that’s why it doesn’t exist anymore. Roger and Garp are the only people who knew about Shanks being Xebec’s son. Garp allows Roger to take Shanks because he knows a child have nothing to do with the sins of his father, and that’s why after so many Roger entrusted Ace to Garp.
Theory by Big_Anybody4696