First, take a comfortable fitting shirt you already have and lie it on top of your baggy shirt. Make sure the baggy shirt is inside out.
Take a marker and outline about around the smaller shirt on the big shirt, I would say go maybe 1 or 2 inches out from the smaller shirt (you don't want to make it too tight! also you have some slack if you mess up.)
Get some scissors and cut out the outline.
The hardest part; You'll need a sewing machine (you can sew by hand but that will take much longer and might not be as straight) start sewing the sides and sleeves back together.
If you cut the bottom to make it shorter, fold the ends over so the cut part is folded inside and sew it down.