It's difficult to repitch yeast without screwing something up. First, there's probably some alcohol in the beer that's in the primary (not sure what your OG was), so that could affect the health of newly added yeast. More importantly, any newly added yeast will need oxygen and that will be difficult to give them without oxygenating your beer. I definately would not remove beer from the primary to make a starter and then add that back, too much risk of infection for me.
You can try giving it more time, maybe gently rousing/swirling the beer in the carboy, but I'm not sure that will help you much.
If you're really not happy with the beer, you can try adding more yeast, maybe just a dry yeast pack. It's your call weather to oxygenate or not. Either way though, I don't think you'll get the finished beer you were looking for at this point. Sorry for the bad news.
To solve the root cause of the underattenuation, I would look into the original recipe and technique. It's possible your wort wasn't very fermentable. Certainly the size of the starter is a big factor. Also, did you oxygentate the beer well enough? All things to consider for your next batch. We've almost all had underattenuated beers at some point. It's certainly a learning experience.