Query first and last name from custom post type

$name="John Doe";

// Split $name
$name = preg_split( '/\s+/', trim( $name ) );

// Set first name
$first_name = $name[0];

// Last name was provided?
$last_name = isset( $name[1] ) ? $name[1] : null;

// Define meta query args array
$meta_query_args = array();

// Set "first name" meta query or "first name" + "last name" if both exist
if ( is_null( $last_name ) ) {
    $meta_query_args[] = array(
        'key'     => 'customer_first_name',
        'value'   => $first_name,
        'compare' => 'LIKE',
    );
} else {
    $meta_query_args[] = array(
        'relation' => 'AND', // This is default, just trying to be descriptive
        array(
            'key'     => 'customer_first_name',
            'value'   => $first_name,
            'compare' => 'LIKE'
        ),
        array(
            'key'     => 'customer_last_name',
            'value'   => $last_name,
            'compare' => 'LIKE'
        )
    );
}

// Set 'meta_query' in your $args variable
$args['meta_query'] = $meta_query_args;

Note that you’ll have to add extra code to support “last name” + “first name” besides of “first name” + “last name” (order matters).