There are two ways that spring to mind. An easy way, and a hard way. The hard way, but neither is perfect.

1 - Set up an attribute for each product which is shipping cost. So for each item you will have price - $5, shipping $1. Using this method, every product can have a different shipping rate if you wish. The problem comes when your customer orders 2 different products, from the same supplier, and gets charged shipping twice, when there may be an additional shipping cost incurred, but it wouldn't be that much.

2 - Set up a custom shipping module, with shipping rates per supplier. You can then select that supplier 1 charges $5 for each item, and supplier 2 charges $5.50 per item. You can then code in that it adds all of these together, and gets a total, with or without a by product breakdown. THis method is not easy, and will take a fair amount of coding.

Those are just two methods I can think of straight away, but I'm sure there are others.

Absolute