How to use different offset for each duplicate created with array modifier?
You can use duplication (instancing) on the faces of a different mesh

Create a mesh, with one face per each intended duplication location


Select the object to duplicate, then Shift + Select the newly created mesh. Do CtrlP, then Parent to Object.


(optional) make the origins of the two meshes coincide

On the &quot;S&quot; shaped mesh, under Duplication in the Object panel, choose Faces



(btw, the &quot;S&quot; mesh won't be rendered: only your object's instances)