$ prog | xargs utility
where prog is expected to output one or more newline/space separated results. The trick is that xargs does not! nessarly call utility once for each result, instead it splits the result list into sublists and calls utility for every sublist. If you want to force xargs to call utility for every single result you will need to invoke it with xargs -L1.
Note that xargs promises you that the sublist sent to utility is shorter than ARG_MAX (this is how it avoids those dreaded Argument list to long errors). You can get the current value of ARG_MAX using getconf ARG_MAX