Not knowing what it is Body, this is my solution:
bodies = cellfun(@(tuple)Body(tuple{1},tuple{2}), coords);
or, if the output should be encapsulated in an array of cells:
bodies = cellfun(@(tuple)Body(tuple{1},tuple{2}), coords, 'UniformOutput',false);
And just for testing, I tried it with the following:
X1 = @(t) cos(t);
Y1 = @(t) sin(t);
X2 = @(t) cos(t) + 1;
Y2 = @(t) sin(t) + 1;
coords = {{X1,Y1}, {X2,Y2}};
%
Body = @(X,Y) struct('x',X, 'y',Y);
%
bodies = cellfun(@(tuple)Body(tuple{1},tuple{2}), coords);
%
bodies(1)
bodies(2)