#!/bin/bash

codep() {
  set -eo monitor
  trap 'kill $(jobs -p) &> /dev/null' EXIT
  trap 'exit 2' CHLD
  for child in "$@"; do
    $child &
  done
  wait
}

[[ "$0" == "$BASH_SOURCE" ]] && codep "$@"