The word shopworn is a variant of worn, which is defined in the same dictionary as:
worn (adjective) damaged and shabby as a result of much use:
a worn, frayed denim jacket
his face looked worn and old
So I would say that shopworn is more related to age than to weight. However, I don't think it's simply old age. I think the phrase "of much use" is important – a man can be 80 and the word shopworn might not be a good fit. I'd interpret a shopworn body to be one that's perhaps a bit old, but feeling the effects of "much use." Perhaps the subject worked as a laborer for several years, and his joints are achy and stiff. It's not a word that's commonly used, though, so it's hard to say for sure.
Incidentally, I did a Google search for
"a shopworn body", and the search engine return just one hit. That sentence referred to an aging boxer, which seems to confirm my conjecture. Changing the search to
"his shopworn body" returned just three more, all referring to career wrestlers or boxers. 40 is not necessarily old, but, in those sports, it's plenty old enough for a professional athlete to become shopworn.