The origin is uncertain and therefore unknown. However, there is a theory that the garmnent was named after the heavyweight boxer John Sullivan who used to wear a similar garment in the boxing ring....
It is not revealed in the novel..
Long John Silver is a character in the Robert Louis Stevenson novel Treasure Island. He does use other nicknames, but his real name is never revealed.