It seems that having a main category of shirts would work, and there would be subcategories of the different types of designs. For other products, you would add a main category with the product type and add the different types of designs as subcategories.
To add options, I would add 3 advanced options. One is for adult or child, one is for long sleeve or short sleeve and the last one is for size. You can set the price different depending on the 3 different options.