Oil and perspiration usually stain white fabrics making them go gray or yellow in time.
You could pour liquid detergent like Wisk directly to your old shirts and let it set in the warmest water safe for your shirt for several minutes. Apply Ammonia to fresh stains and white vinegar to old stain, just be sure rinse thoroughly before and after washing.