Shanks is one of One Piece’s most enigmatic characters. His real father is also a mystery. But i have a good theory that Shanks real father is Rocks D Xebec.
Shanks is 39 years old, and he would have been a baby at the time of the God Valley Incident.
Garp, as we all know, despises discussing the God Valley Incident. What if he found Shanks there, and that was part of the reason? He and Roger kill Rocks, and the two of them then discover Shanks, the newborn on Xebec’s ship.
Knowing that a kid of Rocks D Xebec would be rejected by the World Government, Garp understood he had two options: leave him to perish or let Roger take him with his crew. Shanks was recruited to be an apprentice on Roger’s ship in this manner.
Another crucial piece: This would further justify Roger’s decision to commit Ace to Garp. Roger knew that, as a result of the God Valley Incident and Shanks, Garp would not allow a pirate’s child to be imprisoned or killed by the World Government.
Secondly, Shanks is known as Akagami Shanks, Akagami means Red Hair. Therefore it is not his surname. His full name is not revealed yet, which points out that either he doesn’t know about his full name or he do not want to use his full name which is Rocks D. Shanks. This is because he doesn’t like his father (Xebec) because he was evil and Shanks is warm-hearted exactly opposite to Xebec.
The last point is that Rock’s clear picture hasn’t been revealed yet. The only picture revealed do not show his face or hair color. But there is red shadowing in the background, which may mean his hair color is red. And if his hair color is red then he is really the father of Shanks.