why doesn't size take the value argc - 1

int *build_array(char **strs, int size) {
	int *arr = malloc(size * sizeof(int));

	for (int i = 0; i < size; i++) {
		arr[i] = strtol(strs[i + 1], NULL, 10);
	}
	
	return arr;
}

int main(int argc, char **argv) {
    int *full_array = build_array(argv, argc - 1);
    return 0;
}