I’m assuming you’re in Illustrator..
Basically, you’re solution will be to create Brushes with these custom shapes.
-Drag the shape into the Brushes palette. You’ll probably want a Scatter Brush with rotation set to follow the path.
-Select your circle path, than apply the new custom brush to it. BAM! You can continually modify a brush by clicking the Options button in the Brushes palette (with a brush or brushed object selected).
In your circumstance (npi) you may need to make a brush out of each shape and apply each brush to layered duplicates of the circle. Or, you could create one brush that contains all of your custom shapes and apply it to the circle.
Also, you may need more control of the rotation point of the objects. In which case you will need to group your custom shape with an empty shape prior to making it into a brush. Create an empty circle or square that is larger than the custom shape, than position the desired rotation point of the custom shape on the center-point of the empty shape, group the objects, make a brush.
I’d probably describe this more as a ‘follow path’ solution than an ‘align’ solution. As ‘Align’ is a different function in Illustrator.
Hope this helps. : )