I'm not really a fan of nicknames as names, and if you don't hate
William, it would seem a better choice to me. Having said that, there are hundreds of far worse names than just
Will out there, and at least it has a meaning as a word.
The main drawback I can see is that if it was his full name, people might think he needed a nickname. And the obvious one is
Willy, which is not good at all.